﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Utilities;

namespace Geometry
{
   public class Mesh
   {
      ////////////////////////////////////////////////////////////////////////
      //
      public Mesh()
      {
      }

      ////////////////////////////////////////////////////////////////////////
      //
      public byte[] rawHeights
      {
         get { return heights_; }
         set
         {
            heights_ = value;
            points_ = null;
         }
      }

      ////////////////////////////////////////////////////////////////////////
      //
      public int rawWidth
      {
         get { return width_; }
         set
         {
            width_ = value;
            points_ = null;
         }
      }

      ////////////////////////////////////////////////////////////////////////
      //
      public int rawDepth
      {
         get { return depth_; }
         set
         {
            depth_ = value;
            points_ = null;
         }
      }

      ////////////////////////////////////////////////////////////////////////
      //
      private Point3D[] points
      {
         get
         {
            if (null == points_)
            {
               try
               {
                  // Recalculate the mesh

               }
               catch (System.Exception ex)
               {
                  logger_.exception(ex);
               }
            }
            return points_;
         }
      }

      ////////////////////////////////////////////////////////////////////////
      //
      private Logger logger_ = new Logger();
      private int width_;
      private int depth_;
      private byte[] heights_;
      private Point3D[] points_;
   }
}
